package com.hgyc.mom.mes.service;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hgyc.mom.mes.entity.SopTerminal;
import com.hgyc.mom.mes.enums.SopTerminalStatusEnum;

/**
 * 显示终端 Service接口
 *
 * @author fwj
 * @since 2025-06-24
 */
public interface SopTerminalService extends IService<SopTerminal> {

    /**
     * 保存显示终端
     * @param sopTerminal 显示终端
     */
    void saveTerminal(SopTerminal sopTerminal);

    /**
     * 更新显示终端
     * @param sopTerminal 显示终端
     */
    void updateTerminal(SopTerminal sopTerminal);

    /**
     * 删除显示终端
     * @param ids 主键
     */
    void removeTerminal(List<Long> ids);

    /**
     * 导入数据
     * @param sopTerminalList 导入数据列表
     * @param updateSupport 是否更新已有数据
     * @return 导入结果消息
     */
    String importData(List<SopTerminal> sopTerminalList, boolean updateSupport);

    /**
     * 根据IP获取设备终端
     * @param ip 终端IP
     * @return 设备信息
     */
    SopTerminal getByIp(String ip);

    /**
     * 获取工位上的设备
     * @param lineId 产线ID
     * @param stationId 工位ID
     * @return 设备信息
     */
    SopTerminal getSopTerminal(Long lineId, Long stationId);

    /**
     * 根据IP更新设备连接状态
     * @param ip 设备IP
     * @param status 状态
     */
    void updateTerminalByIP(String ip, SopTerminalStatusEnum status);
}
